Messages and other text content are normally composed on a computer using a keyboard. A traditional computer has a QWERTY keyboard with mechanically movable keys, which allows a user to enter text by typing. As it has become possible to put more computing power into a smaller device, many functions that were traditionally performed on desktop and laptop computers are now being performed on smaller devices such as handheld computers, phones, music players, and tablet devices.
While it is possible to miniaturize components such as a processor, memory, disk, and network interface, one component that cannot easily be miniaturized beyond a certain point is a physical keyboard that is large enough to be used comfortably by human hands. Small devices often have mechanisms for text input, such as an on-screen keyboard operated through a touch screen, a tiny keyboard designed to be operated by thumbs (as on some smart phones devices), double- or triple-duty keys that each represent two or three letters of the alphabet (as on basic wireless phones), or handwriting recognitions systems. However, these mechanisms normally do not provide the ease of a full-size keyboard when it comes to composing text content.
When a person uses a device (small or large), there various contextual clues that may be available and that might help the user compose the message without having to enter the message from scratch. However, existing systems generally are not designed to make use of these clues.